
const {resolve} = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
    entry: './src/index.js',
    output: {
        filename: 'built.js',
        path: resolve(__dirname, 'build')
    },
    module: {
        rules: [
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader']
            },
            // 不用这个默认也可以自动打包字体
            // 打包其他资源（除了html，css，less）
            /* {
                // 排除css/js/html/less资源
                exclude: /\.(css|js|html|less)$/,
                loader: 'file-loader',
                options: {
                    esModule: false,
                    name: '[hash:10].[ext]'
                },
                type: 'javascript/auto'
            } */
        ]
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: './src/index.html'
        })
    ],
    mode: 'development',

    // 开发服务器 devServer: 用来自动化（自动，自动打开浏览器，自动刷新浏览器）
    // 只会在内存中编译打包，不会有任何输出到本地代码
    // 启动devServer指令为：
    // npx webpack-dev-server
    // npx webpack server
    devServer: {
        watchFiles: resolve(__dirname, 'build'),
        // 启动压缩
        compress: true,
        // 端口号
        port: 3000,
        // 自动打开浏览器
        open: true,
    }
}